home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
PROGRAMM
/
PASCAL
/
0193.ZIP
/
TADPC.INC
< prev
next >
Wrap
Text File
|
1985-02-23
|
2KB
|
76 lines
procedure Get_Sys_Time(var t: tad_array);
{ Get system time - for IBM PC }
type
regpack = record
ax, bx, cx, dx, bp, si, di, ds, es, flags: integer;
end;
var
allregs: regpack;
begin { Get_Sys_Time }
with allregs do
begin
ax := $2C * 256;
MsDos(allregs);
t[0] := dx div 256;
t[1] := cx mod 256;
t[2] := cx div 256
end
end;
procedure Get_Sys_Date(var t: tad_array);
{ Get system date - for IBM PC }
type
regpack = record
ax, bx, cx, dx, bp, si, di, ds, es, flags: integer;
end;
var
allregs: regpack;
begin { Get_Sys_Date }
with allregs do
begin
ax := $2A * 256;
MsDos(allregs);
t[0] := dx mod 256;
t[1] := dx div 256;
t[2] := cx - 1900
end
end;
procedure Get_Cre_Date(var t: tad_array; var infile: text);
{ Get file creation date - for IBM PC }
{ Retrieved from the FIB which corresponds to bytes 20-21 of the FCB.
Format: bits 0 - 4: day of month
5 - 8: month of year
9 -15: year - 1980
}
const
monthmask = $000F;
daymask = $001F;
var
fulldate: integer;
begin
fulldate := memw[seg(infile):ofs(infile) + 31];
t[0] := fulldate and daymask;
t[1] := (fulldate shr 5) and monthmask;
t[2] := (fulldate shr 9) + 80;
end;
procedure Get_Cre_Time(var t: tad_array; var infile: text);
{ Get file creation time - for IBM PC }
{ Retrieved from the FIB which corresponds to bytes 22-23 of the FCB.
Format: bits 0 - 4: seconds/2
5 -10: minutes
11-15: hours
}
const
minutemask = $003F;
secondmask = $001F;
var
fulltime: integer;
begin
fulltime := memw[seg(infile):ofs(infile) + 33];
t[0] := (fulltime and secondmask) * 2;
t[1] := (fulltime shr 5) and minutemask;
t[2] := fulltime shr 11;
end;